package com.dragon.modules.yuegou.query.merchant;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dragon.modules.yuegou.entity.merchant.MerchantLevelEntity;
import com.dragon.modules.yuegou.enums.merchant.MerchantLevelOrderType;
import com.dragon.modules.yuegou.enums.merchant.MerchantLevelStatus;
import com.dragon.modules.yuegou.mybatis.Condition;
import com.dragon.modules.yuegou.mybatis.Query;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonUnwrapped;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 商户等级 动态查询条件
 * 
 * @author pbuilder generated
 * @date 2019-09-23 15:27:57
 * @version 2.0
 */
@JsonInclude(Include.NON_NULL)
public class MerchantLevelQuery extends MerchantLevelEntity implements Query<MerchantLevelEntity>{

    /** 主键查询条件 */
	@JsonUnwrapped(prefix = "id")
	private Condition<String> idCondition;

    /** 商户ID查询条件 */
	@JsonUnwrapped(prefix = "merchantId")
	private Condition<String> merchantIdCondition;

    /** 商户名称查询条件 */
	@JsonUnwrapped(prefix = "merchantName")
	private Condition<String> merchantNameCondition;

    /** 等级ID查询条件 */
	@JsonUnwrapped(prefix = "levelId")
	private Condition<String> levelIdCondition;

    /** 购买时间查询条件 */
	@JsonUnwrapped(prefix = "buyTime")
	private Condition<LocalDateTime> buyTimeCondition;

    /** 有效期限，单位：月查询条件 */
	@JsonUnwrapped(prefix = "periodValidity")
	private Condition<Integer> periodValidityCondition;

    /** 有效期开始时间查询条件 */
	@JsonUnwrapped(prefix = "startTime")
	private Condition<LocalDateTime> startTimeCondition;

    /** 有效期结束时间查询条件 */
	@JsonUnwrapped(prefix = "endTime")
	private Condition<LocalDateTime> endTimeCondition;

    /** 支付金额查询条件 */
	@JsonUnwrapped(prefix = "payAmount")
	private Condition<BigDecimal> payAmountCondition;

    /** 退还金额查询条件 */
	@JsonUnwrapped(prefix = "backAmount")
	private Condition<BigDecimal> backAmountCondition;

    /** 服务费折扣查询条件 */
	@JsonUnwrapped(prefix = "serviceDiscount")
	private Condition<BigDecimal> serviceDiscountCondition;

    /** 退还时间查询条件 */
	@JsonUnwrapped(prefix = "backTime")
	private Condition<LocalDateTime> backTimeCondition;

    /** 退还信息查询条件 */
	@JsonUnwrapped(prefix = "backInfo")
	private Condition<String> backInfoCondition;

    /** 订单号查询条件 */
	@JsonUnwrapped(prefix = "orderNo")
	private Condition<String> orderNoCondition;

    /** [枚举]订单类型：0-续费-RENEWAL、1-直接购买-BUY、2-升级-UPLEVEL查询条件 */
	@JsonUnwrapped(prefix = "orderType")
	private Condition<MerchantLevelOrderType> orderTypeCondition;

    /** 升级抵消金额查询条件 */
	@JsonUnwrapped(prefix = "upgradeAmount")
	private Condition<BigDecimal> upgradeAmountCondition;

    /** [枚举]支付状态：0-未支付-NOPAY、1-已支付-PAID、2-失效-INVALID查询条件 */
	@JsonUnwrapped(prefix = "status")
	private Condition<MerchantLevelStatus> statusCondition;

    /** 0 第三方支付 1钱包支付查询条件 */
	@JsonUnwrapped(prefix = "payType")
	private Condition<String> payTypeCondition;

    /** 等级细项ID查询条件 */
	@JsonUnwrapped(prefix = "levelDetailId")
	private Condition<String> levelDetailIdCondition;

    /** 下单时间查询条件 */
	@JsonUnwrapped(prefix = "orderTime")
	private Condition<LocalDateTime> orderTimeCondition;

    /** 查询条件 */
	@JsonUnwrapped(prefix = "createdTime")
	private Condition<LocalDateTime> createdTimeCondition;

    /** 查询条件 */
	@JsonUnwrapped(prefix = "createdBy")
	private Condition<String> createdByCondition;

    /** 查询条件 */
	@JsonUnwrapped(prefix = "modifiedTime")
	private Condition<LocalDateTime> modifiedTimeCondition;

    /** 查询条件 */
	@JsonUnwrapped(prefix = "modifiedBy")
	private Condition<String> modifiedByCondition;

	/**
	 * 构造一个查询条件对象
	 */
	public MerchantLevelQuery() {
		super();
	}

	/**
	 * 依据实体对象构造一个查询条件对象
	 * 
	 * @param entity 实体对象
	 */
	public MerchantLevelQuery(MerchantLevelEntity entity) {
		super(entity);
	}

	/**
	 * 依据其它查询条件对象的信息构造一个查询条件对象
	 * 
	 * @param other 查询条件对象
	 */
	public MerchantLevelQuery(MerchantLevelQuery other) {
		super(other);
		if (other.idCondition != null) {
			this.idCondition = other.idCondition.copy();
		}
		if (other.merchantIdCondition != null) {
			this.merchantIdCondition = other.merchantIdCondition.copy();
		}
		if (other.merchantNameCondition != null) {
			this.merchantNameCondition = other.merchantNameCondition.copy();
		}
		if (other.levelIdCondition != null) {
			this.levelIdCondition = other.levelIdCondition.copy();
		}
		if (other.buyTimeCondition != null) {
			this.buyTimeCondition = other.buyTimeCondition.copy();
		}
		if (other.periodValidityCondition != null) {
			this.periodValidityCondition = other.periodValidityCondition.copy();
		}
		if (other.startTimeCondition != null) {
			this.startTimeCondition = other.startTimeCondition.copy();
		}
		if (other.endTimeCondition != null) {
			this.endTimeCondition = other.endTimeCondition.copy();
		}
		if (other.payAmountCondition != null) {
			this.payAmountCondition = other.payAmountCondition.copy();
		}
		if (other.backAmountCondition != null) {
			this.backAmountCondition = other.backAmountCondition.copy();
		}
		if (other.serviceDiscountCondition != null) {
			this.serviceDiscountCondition = other.serviceDiscountCondition.copy();
		}
		if (other.backTimeCondition != null) {
			this.backTimeCondition = other.backTimeCondition.copy();
		}
		this.setOther(other);
	}

	private void setOther(MerchantLevelQuery other){
		if(other.backInfoCondition != null) {
			this.backInfoCondition = other.backInfoCondition.copy();
		}
		if(other.orderNoCondition != null) {
			this.orderNoCondition = other.orderNoCondition.copy();
		}
		if(other.orderTypeCondition != null) {
			this.orderTypeCondition = other.orderTypeCondition.copy();
		}
		if(other.upgradeAmountCondition != null) {
			this.upgradeAmountCondition = other.upgradeAmountCondition.copy();
		}
		if(other.statusCondition != null) {
			this.statusCondition = other.statusCondition.copy();
		}
		if(other.payTypeCondition != null) {
			this.payTypeCondition = other.payTypeCondition.copy();
		}
		if(other.levelDetailIdCondition != null) {
			this.levelDetailIdCondition = other.levelDetailIdCondition.copy();
		}
		if(other.orderTimeCondition != null) {
			this.orderTimeCondition = other.orderTimeCondition.copy();
		}
		if(other.createdTimeCondition != null) {
			this.createdTimeCondition = other.createdTimeCondition.copy();
		}
		if(other.createdByCondition != null) {
			this.createdByCondition = other.createdByCondition.copy();
		}
		if(other.modifiedTimeCondition != null) {
			this.modifiedTimeCondition = other.modifiedTimeCondition.copy();
		}
		if(other.modifiedByCondition != null) {
			this.modifiedByCondition = other.modifiedByCondition.copy();
		}
	}

	@Override
	public QueryWrapper<MerchantLevelEntity> toQueryWrapper() {
		QueryWrapper<MerchantLevelEntity> wrapper = new QueryWrapper<>(this);
		if (idCondition != null) {
			idCondition.toWrapper(wrapper, COL_ID);
		}
		if (merchantIdCondition != null) {
			merchantIdCondition.toWrapper(wrapper, COL_MERCHANT_ID);
		}
		if (merchantNameCondition != null) {
			merchantNameCondition.toWrapper(wrapper, COL_MERCHANT_NAME);
		}
		if (levelIdCondition != null) {
			levelIdCondition.toWrapper(wrapper, COL_LEVEL_ID);
		}
		if (buyTimeCondition != null) {
			buyTimeCondition.toWrapper(wrapper, COL_BUY_TIME);
		}
		if (periodValidityCondition != null) {
			periodValidityCondition.toWrapper(wrapper, COL_PERIOD_VALIDITY);
		}
		if (startTimeCondition != null) {
			startTimeCondition.toWrapper(wrapper, COL_START_TIME);
		}
		if (endTimeCondition != null) {
			endTimeCondition.toWrapper(wrapper, COL_END_TIME);
		}
		if (payAmountCondition != null) {
			payAmountCondition.toWrapper(wrapper, COL_PAY_AMOUNT);
		}
		if (backAmountCondition != null) {
			backAmountCondition.toWrapper(wrapper, COL_BACK_AMOUNT);
		}
		if (serviceDiscountCondition != null) {
			serviceDiscountCondition.toWrapper(wrapper, COL_SERVICE_DISCOUNT);
		}
		if (backTimeCondition != null) {
			backTimeCondition.toWrapper(wrapper, COL_BACK_TIME);
		}
		if (backInfoCondition != null) {
			backInfoCondition.toWrapper(wrapper, COL_BACK_INFO);
		}
		return getQueryWrapper(wrapper);
	}

	private QueryWrapper<MerchantLevelEntity> getQueryWrapper(QueryWrapper<MerchantLevelEntity> wrapper){
		if (orderNoCondition != null) {
			orderNoCondition.toWrapper(wrapper, COL_ORDER_NO);
		}
		if (orderTypeCondition != null) {
			orderTypeCondition.toWrapper(wrapper, COL_ORDER_TYPE);
		}
		if (upgradeAmountCondition != null) {
			upgradeAmountCondition.toWrapper(wrapper, COL_UPGRADE_AMOUNT);
		}
		if (statusCondition != null) {
			statusCondition.toWrapper(wrapper, COL_STATUS);
		}
		if (payTypeCondition != null) {
			payTypeCondition.toWrapper(wrapper, COL_PAY_TYPE);
		}
		if (levelDetailIdCondition != null) {
			levelDetailIdCondition.toWrapper(wrapper, COL_LEVEL_DETAIL_ID);
		}
		if (orderTimeCondition != null) {
			orderTimeCondition.toWrapper(wrapper, COL_ORDER_TIME);
		}
		if (createdTimeCondition != null) {
			createdTimeCondition.toWrapper(wrapper, COL_CREATED_TIME);
		}
		if (createdByCondition != null) {
			createdByCondition.toWrapper(wrapper, COL_CREATED_BY);
		}
		if (modifiedTimeCondition != null) {
			modifiedTimeCondition.toWrapper(wrapper, COL_MODIFIED_TIME);
		}
		if (modifiedByCondition != null) {
			modifiedByCondition.toWrapper(wrapper, COL_MODIFIED_BY);
		}
		return wrapper;
	}

	/**
	 * 构造并返回主键查询条件
	 * 
	 * @return idCondition 主键查询条件
	 */
	public Condition<String> id() {
		this.idCondition = new Condition<>();
		return this.idCondition;
	}
	
	/**
	 * 获取主键查询条件
	 * 
	 * @return idCondition 主键查询条件
	 */
	public Condition<String> getIdCondition() {
		return idCondition;
	}

	/**
	 * 设置主键查询条件
	 * 
	 * @param idCondition 主键查询条件
	 */
	public void setIdCondition(Condition<String> idCondition) {
		this.idCondition = idCondition;
	}

	/**
	 * 构造并返回商户ID查询条件
	 * 
	 * @return merchantIdCondition 商户ID查询条件
	 */
	public Condition<String> merchantId() {
		this.merchantIdCondition = new Condition<>();
		return this.merchantIdCondition;
	}
	
	/**
	 * 获取商户ID查询条件
	 * 
	 * @return merchantIdCondition 商户ID查询条件
	 */
	public Condition<String> getMerchantIdCondition() {
		return merchantIdCondition;
	}

	/**
	 * 设置商户ID查询条件
	 * 
	 * @param merchantIdCondition 商户ID查询条件
	 */
	public void setMerchantIdCondition(Condition<String> merchantIdCondition) {
		this.merchantIdCondition = merchantIdCondition;
	}

	/**
	 * 构造并返回商户名称查询条件
	 * 
	 * @return merchantNameCondition 商户名称查询条件
	 */
	public Condition<String> merchantName() {
		this.merchantNameCondition = new Condition<>();
		return this.merchantNameCondition;
	}
	
	/**
	 * 获取商户名称查询条件
	 * 
	 * @return merchantNameCondition 商户名称查询条件
	 */
	public Condition<String> getMerchantNameCondition() {
		return merchantNameCondition;
	}

	/**
	 * 设置商户名称查询条件
	 * 
	 * @param merchantNameCondition 商户名称查询条件
	 */
	public void setMerchantNameCondition(Condition<String> merchantNameCondition) {
		this.merchantNameCondition = merchantNameCondition;
	}

	/**
	 * 构造并返回等级ID查询条件
	 * 
	 * @return levelIdCondition 等级ID查询条件
	 */
	public Condition<String> levelId() {
		this.levelIdCondition = new Condition<>();
		return this.levelIdCondition;
	}
	
	/**
	 * 获取等级ID查询条件
	 * 
	 * @return levelIdCondition 等级ID查询条件
	 */
	public Condition<String> getLevelIdCondition() {
		return levelIdCondition;
	}

	/**
	 * 设置等级ID查询条件
	 * 
	 * @param levelIdCondition 等级ID查询条件
	 */
	public void setLevelIdCondition(Condition<String> levelIdCondition) {
		this.levelIdCondition = levelIdCondition;
	}

	/**
	 * 构造并返回购买时间查询条件
	 * 
	 * @return buyTimeCondition 购买时间查询条件
	 */
	public Condition<LocalDateTime> buyTime() {
		this.buyTimeCondition = new Condition<>();
		return this.buyTimeCondition;
	}
	
	/**
	 * 获取购买时间查询条件
	 * 
	 * @return buyTimeCondition 购买时间查询条件
	 */
	public Condition<LocalDateTime> getBuyTimeCondition() {
		return buyTimeCondition;
	}

	/**
	 * 设置购买时间查询条件
	 * 
	 * @param buyTimeCondition 购买时间查询条件
	 */
	public void setBuyTimeCondition(Condition<LocalDateTime> buyTimeCondition) {
		this.buyTimeCondition = buyTimeCondition;
	}

	/**
	 * 构造并返回有效期限，单位：月查询条件
	 * 
	 * @return periodValidityCondition 有效期限，单位：月查询条件
	 */
	public Condition<Integer> periodValidity() {
		this.periodValidityCondition = new Condition<>();
		return this.periodValidityCondition;
	}
	
	/**
	 * 获取有效期限，单位：月查询条件
	 * 
	 * @return periodValidityCondition 有效期限，单位：月查询条件
	 */
	public Condition<Integer> getPeriodValidityCondition() {
		return periodValidityCondition;
	}

	/**
	 * 设置有效期限，单位：月查询条件
	 * 
	 * @param periodValidityCondition 有效期限，单位：月查询条件
	 */
	public void setPeriodValidityCondition(Condition<Integer> periodValidityCondition) {
		this.periodValidityCondition = periodValidityCondition;
	}

	/**
	 * 构造并返回有效期开始时间查询条件
	 * 
	 * @return startTimeCondition 有效期开始时间查询条件
	 */
	public Condition<LocalDateTime> startTime() {
		this.startTimeCondition = new Condition<>();
		return this.startTimeCondition;
	}
	
	/**
	 * 获取有效期开始时间查询条件
	 * 
	 * @return startTimeCondition 有效期开始时间查询条件
	 */
	public Condition<LocalDateTime> getStartTimeCondition() {
		return startTimeCondition;
	}

	/**
	 * 设置有效期开始时间查询条件
	 * 
	 * @param startTimeCondition 有效期开始时间查询条件
	 */
	public void setStartTimeCondition(Condition<LocalDateTime> startTimeCondition) {
		this.startTimeCondition = startTimeCondition;
	}

	/**
	 * 构造并返回有效期结束时间查询条件
	 * 
	 * @return endTimeCondition 有效期结束时间查询条件
	 */
	public Condition<LocalDateTime> endTime() {
		this.endTimeCondition = new Condition<>();
		return this.endTimeCondition;
	}
	
	/**
	 * 获取有效期结束时间查询条件
	 * 
	 * @return endTimeCondition 有效期结束时间查询条件
	 */
	public Condition<LocalDateTime> getEndTimeCondition() {
		return endTimeCondition;
	}

	/**
	 * 设置有效期结束时间查询条件
	 * 
	 * @param endTimeCondition 有效期结束时间查询条件
	 */
	public void setEndTimeCondition(Condition<LocalDateTime> endTimeCondition) {
		this.endTimeCondition = endTimeCondition;
	}

	/**
	 * 构造并返回支付金额查询条件
	 * 
	 * @return payAmountCondition 支付金额查询条件
	 */
	public Condition<BigDecimal> payAmount() {
		this.payAmountCondition = new Condition<>();
		return this.payAmountCondition;
	}
	
	/**
	 * 获取支付金额查询条件
	 * 
	 * @return payAmountCondition 支付金额查询条件
	 */
	public Condition<BigDecimal> getPayAmountCondition() {
		return payAmountCondition;
	}

	/**
	 * 设置支付金额查询条件
	 * 
	 * @param payAmountCondition 支付金额查询条件
	 */
	public void setPayAmountCondition(Condition<BigDecimal> payAmountCondition) {
		this.payAmountCondition = payAmountCondition;
	}

	/**
	 * 构造并返回退还金额查询条件
	 * 
	 * @return backAmountCondition 退还金额查询条件
	 */
	public Condition<BigDecimal> backAmount() {
		this.backAmountCondition = new Condition<>();
		return this.backAmountCondition;
	}
	
	/**
	 * 获取退还金额查询条件
	 * 
	 * @return backAmountCondition 退还金额查询条件
	 */
	public Condition<BigDecimal> getBackAmountCondition() {
		return backAmountCondition;
	}

	/**
	 * 设置退还金额查询条件
	 * 
	 * @param backAmountCondition 退还金额查询条件
	 */
	public void setBackAmountCondition(Condition<BigDecimal> backAmountCondition) {
		this.backAmountCondition = backAmountCondition;
	}

	/**
	 * 构造并返回服务费折扣查询条件
	 * 
	 * @return serviceDiscountCondition 服务费折扣查询条件
	 */
	public Condition<BigDecimal> serviceDiscount() {
		this.serviceDiscountCondition = new Condition<>();
		return this.serviceDiscountCondition;
	}
	
	/**
	 * 获取服务费折扣查询条件
	 * 
	 * @return serviceDiscountCondition 服务费折扣查询条件
	 */
	public Condition<BigDecimal> getServiceDiscountCondition() {
		return serviceDiscountCondition;
	}

	/**
	 * 设置服务费折扣查询条件
	 * 
	 * @param serviceDiscountCondition 服务费折扣查询条件
	 */
	public void setServiceDiscountCondition(Condition<BigDecimal> serviceDiscountCondition) {
		this.serviceDiscountCondition = serviceDiscountCondition;
	}

	/**
	 * 构造并返回退还时间查询条件
	 * 
	 * @return backTimeCondition 退还时间查询条件
	 */
	public Condition<LocalDateTime> backTime() {
		this.backTimeCondition = new Condition<>();
		return this.backTimeCondition;
	}
	
	/**
	 * 获取退还时间查询条件
	 * 
	 * @return backTimeCondition 退还时间查询条件
	 */
	public Condition<LocalDateTime> getBackTimeCondition() {
		return backTimeCondition;
	}

	/**
	 * 设置退还时间查询条件
	 * 
	 * @param backTimeCondition 退还时间查询条件
	 */
	public void setBackTimeCondition(Condition<LocalDateTime> backTimeCondition) {
		this.backTimeCondition = backTimeCondition;
	}

	/**
	 * 构造并返回退还信息查询条件
	 * 
	 * @return backInfoCondition 退还信息查询条件
	 */
	public Condition<String> backInfo() {
		this.backInfoCondition = new Condition<>();
		return this.backInfoCondition;
	}
	
	/**
	 * 获取退还信息查询条件
	 * 
	 * @return backInfoCondition 退还信息查询条件
	 */
	public Condition<String> getBackInfoCondition() {
		return backInfoCondition;
	}

	/**
	 * 设置退还信息查询条件
	 * 
	 * @param backInfoCondition 退还信息查询条件
	 */
	public void setBackInfoCondition(Condition<String> backInfoCondition) {
		this.backInfoCondition = backInfoCondition;
	}

	/**
	 * 构造并返回订单号查询条件
	 * 
	 * @return orderNoCondition 订单号查询条件
	 */
	public Condition<String> orderNo() {
		this.orderNoCondition = new Condition<>();
		return this.orderNoCondition;
	}
	
	/**
	 * 获取订单号查询条件
	 * 
	 * @return orderNoCondition 订单号查询条件
	 */
	public Condition<String> getOrderNoCondition() {
		return orderNoCondition;
	}

	/**
	 * 设置订单号查询条件
	 * 
	 * @param orderNoCondition 订单号查询条件
	 */
	public void setOrderNoCondition(Condition<String> orderNoCondition) {
		this.orderNoCondition = orderNoCondition;
	}

	/**
	 * 构造并返回[枚举]订单类型：0-续费-RENEWAL、1-直接购买-BUY、2-升级-UPLEVEL查询条件
	 * 
	 * @return orderTypeCondition [枚举]订单类型：0-续费-RENEWAL、1-直接购买-BUY、2-升级-UPLEVEL查询条件
	 */
	public Condition<MerchantLevelOrderType> orderType() {
		this.orderTypeCondition = new Condition<>();
		return this.orderTypeCondition;
	}
	
	/**
	 * 获取[枚举]订单类型：0-续费-RENEWAL、1-直接购买-BUY、2-升级-UPLEVEL查询条件
	 * 
	 * @return orderTypeCondition [枚举]订单类型：0-续费-RENEWAL、1-直接购买-BUY、2-升级-UPLEVEL查询条件
	 */
	public Condition<MerchantLevelOrderType> getOrderTypeCondition() {
		return orderTypeCondition;
	}

	/**
	 * 设置[枚举]订单类型：0-续费-RENEWAL、1-直接购买-BUY、2-升级-UPLEVEL查询条件
	 * 
	 * @param orderTypeCondition [枚举]订单类型：0-续费-RENEWAL、1-直接购买-BUY、2-升级-UPLEVEL查询条件
	 */
	public void setOrderTypeCondition(Condition<MerchantLevelOrderType> orderTypeCondition) {
		this.orderTypeCondition = orderTypeCondition;
	}

	/**
	 * 构造并返回升级抵消金额查询条件
	 * 
	 * @return upgradeAmountCondition 升级抵消金额查询条件
	 */
	public Condition<BigDecimal> upgradeAmount() {
		this.upgradeAmountCondition = new Condition<>();
		return this.upgradeAmountCondition;
	}
	
	/**
	 * 获取升级抵消金额查询条件
	 * 
	 * @return upgradeAmountCondition 升级抵消金额查询条件
	 */
	public Condition<BigDecimal> getUpgradeAmountCondition() {
		return upgradeAmountCondition;
	}

	/**
	 * 设置升级抵消金额查询条件
	 * 
	 * @param upgradeAmountCondition 升级抵消金额查询条件
	 */
	public void setUpgradeAmountCondition(Condition<BigDecimal> upgradeAmountCondition) {
		this.upgradeAmountCondition = upgradeAmountCondition;
	}

	/**
	 * 构造并返回[枚举]支付状态：0-未支付-NOPAY、1-已支付-PAID、2-失效-INVALID查询条件
	 * 
	 * @return statusCondition [枚举]支付状态：0-未支付-NOPAY、1-已支付-PAID、2-失效-INVALID查询条件
	 */
	public Condition<MerchantLevelStatus> status() {
		this.statusCondition = new Condition<>();
		return this.statusCondition;
	}
	
	/**
	 * 获取[枚举]支付状态：0-未支付-NOPAY、1-已支付-PAID、2-失效-INVALID查询条件
	 * 
	 * @return statusCondition [枚举]支付状态：0-未支付-NOPAY、1-已支付-PAID、2-失效-INVALID查询条件
	 */
	public Condition<MerchantLevelStatus> getStatusCondition() {
		return statusCondition;
	}

	/**
	 * 设置[枚举]支付状态：0-未支付-NOPAY、1-已支付-PAID、2-失效-INVALID查询条件
	 * 
	 * @param statusCondition [枚举]支付状态：0-未支付-NOPAY、1-已支付-PAID、2-失效-INVALID查询条件
	 */
	public void setStatusCondition(Condition<MerchantLevelStatus> statusCondition) {
		this.statusCondition = statusCondition;
	}

	/**
	 * 构造并返回0 第三方支付 1钱包支付查询条件
	 * 
	 * @return payTypeCondition 0 第三方支付 1钱包支付查询条件
	 */
	public Condition<String> payType() {
		this.payTypeCondition = new Condition<>();
		return this.payTypeCondition;
	}
	
	/**
	 * 获取0 第三方支付 1钱包支付查询条件
	 * 
	 * @return payTypeCondition 0 第三方支付 1钱包支付查询条件
	 */
	public Condition<String> getPayTypeCondition() {
		return payTypeCondition;
	}

	/**
	 * 设置0 第三方支付 1钱包支付查询条件
	 * 
	 * @param payTypeCondition 0 第三方支付 1钱包支付查询条件
	 */
	public void setPayTypeCondition(Condition<String> payTypeCondition) {
		this.payTypeCondition = payTypeCondition;
	}

	/**
	 * 构造并返回等级细项ID查询条件
	 * 
	 * @return levelDetailIdCondition 等级细项ID查询条件
	 */
	public Condition<String> levelDetailId() {
		this.levelDetailIdCondition = new Condition<>();
		return this.levelDetailIdCondition;
	}
	
	/**
	 * 获取等级细项ID查询条件
	 * 
	 * @return levelDetailIdCondition 等级细项ID查询条件
	 */
	public Condition<String> getLevelDetailIdCondition() {
		return levelDetailIdCondition;
	}

	/**
	 * 设置等级细项ID查询条件
	 * 
	 * @param levelDetailIdCondition 等级细项ID查询条件
	 */
	public void setLevelDetailIdCondition(Condition<String> levelDetailIdCondition) {
		this.levelDetailIdCondition = levelDetailIdCondition;
	}

	/**
	 * 构造并返回下单时间查询条件
	 * 
	 * @return orderTimeCondition 下单时间查询条件
	 */
	public Condition<LocalDateTime> orderTime() {
		this.orderTimeCondition = new Condition<>();
		return this.orderTimeCondition;
	}
	
	/**
	 * 获取下单时间查询条件
	 * 
	 * @return orderTimeCondition 下单时间查询条件
	 */
	public Condition<LocalDateTime> getOrderTimeCondition() {
		return orderTimeCondition;
	}

	/**
	 * 设置下单时间查询条件
	 * 
	 * @param orderTimeCondition 下单时间查询条件
	 */
	public void setOrderTimeCondition(Condition<LocalDateTime> orderTimeCondition) {
		this.orderTimeCondition = orderTimeCondition;
	}

	/**
	 * 构造并返回查询条件
	 * 
	 * @return createdTimeCondition 查询条件
	 */
	public Condition<LocalDateTime> createdTime() {
		this.createdTimeCondition = new Condition<>();
		return this.createdTimeCondition;
	}
	
	/**
	 * 获取查询条件
	 * 
	 * @return createdTimeCondition 查询条件
	 */
	public Condition<LocalDateTime> getCreatedTimeCondition() {
		return createdTimeCondition;
	}

	/**
	 * 设置查询条件
	 * 
	 * @param createdTimeCondition 查询条件
	 */
	public void setCreatedTimeCondition(Condition<LocalDateTime> createdTimeCondition) {
		this.createdTimeCondition = createdTimeCondition;
	}

	/**
	 * 构造并返回查询条件
	 * 
	 * @return createdByCondition 查询条件
	 */
	public Condition<String> createdBy() {
		this.createdByCondition = new Condition<>();
		return this.createdByCondition;
	}
	
	/**
	 * 获取查询条件
	 * 
	 * @return createdByCondition 查询条件
	 */
	public Condition<String> getCreatedByCondition() {
		return createdByCondition;
	}

	/**
	 * 设置查询条件
	 * 
	 * @param createdByCondition 查询条件
	 */
	public void setCreatedByCondition(Condition<String> createdByCondition) {
		this.createdByCondition = createdByCondition;
	}

	/**
	 * 构造并返回查询条件
	 * 
	 * @return modifiedTimeCondition 查询条件
	 */
	public Condition<LocalDateTime> modifiedTime() {
		this.modifiedTimeCondition = new Condition<>();
		return this.modifiedTimeCondition;
	}
	
	/**
	 * 获取查询条件
	 * 
	 * @return modifiedTimeCondition 查询条件
	 */
	public Condition<LocalDateTime> getModifiedTimeCondition() {
		return modifiedTimeCondition;
	}

	/**
	 * 设置查询条件
	 * 
	 * @param modifiedTimeCondition 查询条件
	 */
	public void setModifiedTimeCondition(Condition<LocalDateTime> modifiedTimeCondition) {
		this.modifiedTimeCondition = modifiedTimeCondition;
	}

	/**
	 * 构造并返回查询条件
	 * 
	 * @return modifiedByCondition 查询条件
	 */
	public Condition<String> modifiedBy() {
		this.modifiedByCondition = new Condition<>();
		return this.modifiedByCondition;
	}
	
	/**
	 * 获取查询条件
	 * 
	 * @return modifiedByCondition 查询条件
	 */
	public Condition<String> getModifiedByCondition() {
		return modifiedByCondition;
	}

	/**
	 * 设置查询条件
	 * 
	 * @param modifiedByCondition 查询条件
	 */
	public void setModifiedByCondition(Condition<String> modifiedByCondition) {
		this.modifiedByCondition = modifiedByCondition;
	}

}
